#pragma once

class TexturedBox : public Intersectable
{
	Image_ptr _image;
	std::vector<boost::shared_ptr<TexturedRectangle>> _rectangles;
public:
	TexturedBox(const Point& p0, const Point& p1, const Point& p2, const Point& p3, const Image_ptr);

	void WhereIntersects(const Ray&, FirstIntersectionResult&);
	void ColorAtIntersection(SecondIntersectionResult&, const Point&, const Ray&);
	Direction NormalAtPoint(FirstIntersectionResult&, const Point&);

	~TexturedBox(void){};
};
